package com.ruoyi.zxjd.work.domain;

import java.util.List;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 工作安排对象 work_arrange
 * 
 * @author lcc
 * @date 2021-01-26
 */
public class WorkArrange extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 工作安排ID */
    private Long arrangeId;

    /** 工作标题 */
    @Excel(name = "工作标题")
    private String arrangeTitle;

    /** 工作模板ID */
    private Long templateId;

    /** 填报表单 */
    @Excel(name = "填报表单")
    private String templateName;

    /** 工作分类（1日常工作 2重点工作） */
    @Excel(name = "工作分类", readConverterExp = "1=日常工作,2=重点工作")
    private String workCategory;

    /** 发布范围 */
    @Excel(name = "发布范围")
    private String releaseScope;

    /** 参与人数 */
    @Excel(name = "参与人数")
    private Integer total;

    /** 未上报人数 */
    @Excel(name = "未上报人数")
    private Integer unfillTotal;

    /** 开始日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startDate;

    /** 结束日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "结束日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endDate;

    /** 预警日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date warningDate;

    /** 预警提示（0不提示 1提示） */
    private String warningTips;

    /** 站内提示（0不提示 1提示） */
    private String websiteTips;

    /** 短信提示（0不提示 1提示） */
    private String smsTips;

    /** 工作状态（0进行中 1已完成） */
    @Excel(name = "工作状态", readConverterExp = "0=进行中,1=已完成")
    private String status;

    /** 发起人ID */
    private Long userId;

    /** 发起人 */
    @Excel(name = "发起人")
    private String userName;

    /** 发起机构ID */
    private Long deptId;

    /** 发起机构 */
    private String deptName;

    /** 工作进度信息 */
    private List<WorkProgress> workProgressList;

    /** 选择用户范围 */
    private String[] userIds;

    public void setArrangeId(Long arrangeId) 
    {
        this.arrangeId = arrangeId;
    }

    public Long getArrangeId() 
    {
        return arrangeId;
    }
    public void setArrangeTitle(String arrangeTitle) 
    {
        this.arrangeTitle = arrangeTitle;
    }

    public String getArrangeTitle() 
    {
        return arrangeTitle;
    }
    public void setTemplateId(Long templateId) 
    {
        this.templateId = templateId;
    }

    public Long getTemplateId() 
    {
        return templateId;
    }
    public void setTemplateName(String templateName) 
    {
        this.templateName = templateName;
    }

    public String getTemplateName() 
    {
        return templateName;
    }
    public void setWorkCategory(String workCategory) 
    {
        this.workCategory = workCategory;
    }

    public String getWorkCategory() 
    {
        return workCategory;
    }
    public void setReleaseScope(String releaseScope) 
    {
        this.releaseScope = releaseScope;
    }

    public String getReleaseScope() 
    {
        return releaseScope;
    }
    public void setTotal(Integer total) 
    {
        this.total = total;
    }

    public Integer getTotal() 
    {
        return total;
    }
    public Integer getUnfillTotal() {
        return unfillTotal;
    }

    public void setUnfillTotal(Integer unfillTotal) {
        this.unfillTotal = unfillTotal;
    }

    public void setStartDate(Date startDate) 
    {
        this.startDate = startDate;
    }

    public Date getStartDate() 
    {
        return startDate;
    }
    public void setEndDate(Date endDate) 
    {
        this.endDate = endDate;
    }

    public Date getEndDate() 
    {
        return endDate;
    }
    public void setWarningDate(Date warningDate) 
    {
        this.warningDate = warningDate;
    }

    public Date getWarningDate() 
    {
        return warningDate;
    }
    public void setWarningTips(String warningTips) 
    {
        this.warningTips = warningTips;
    }

    public String getWarningTips() 
    {
        return warningTips;
    }
    public void setWebsiteTips(String websiteTips) 
    {
        this.websiteTips = websiteTips;
    }

    public String getWebsiteTips() 
    {
        return websiteTips;
    }
    public void setSmsTips(String smsTips) 
    {
        this.smsTips = smsTips;
    }

    public String getSmsTips() 
    {
        return smsTips;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setUserName(String userName) 
    {
        this.userName = userName;
    }

    public String getUserName() 
    {
        return userName;
    }
    public void setDeptId(Long deptId) 
    {
        this.deptId = deptId;
    }

    public Long getDeptId() 
    {
        return deptId;
    }
    public void setDeptName(String deptName) 
    {
        this.deptName = deptName;
    }

    public String getDeptName() 
    {
        return deptName;
    }

    public List<WorkProgress> getWorkProgressList()
    {
        return workProgressList;
    }

    public void setWorkProgressList(List<WorkProgress> workProgressList)
    {
        this.workProgressList = workProgressList;
    }

    public String[] getUserIds() {
        return userIds;
    }

    public void setUserIds(String[] userIds) {
        this.userIds = userIds;
    }
    
    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("arrangeId", getArrangeId())
            .append("arrangeTitle", getArrangeTitle())
            .append("templateId", getTemplateId())
            .append("templateName", getTemplateName())
            .append("workCategory", getWorkCategory())
            .append("releaseScope", getReleaseScope())
            .append("total", getTotal())
            .append("unfillTotal", getUnfillTotal())
            .append("startDate", getStartDate())
            .append("endDate", getEndDate())
            .append("warningDate", getWarningDate())
            .append("warningTips", getWarningTips())
            .append("websiteTips", getWebsiteTips())
            .append("smsTips", getSmsTips())
            .append("status", getStatus())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .append("userId", getUserId())
            .append("userName", getUserName())
            .append("deptId", getDeptId())
            .append("deptName", getDeptName())
            .append("workProgressList", getWorkProgressList())
            .toString();
    }

}
